/**
 * 处理一些模板语法
 * @author luguoxiang
 * @date 2024-06-19
 * 开源项目：https://gitee.com/lgx1992/lg-soar 求star！请给我star！请帮我点个star！
 */
import {computed} from "vue";

/**
 * 使用 v-model 传递
 *
 * @param props
 * @param emits
 * @param name
 */
export function useModel<T, K extends keyof T>(props: T, emits: any, name: K) {
	// @ts-ignore
	const emitName = 'update:' + name
	return computed({
		get() {
			return props[name]
		},
		set(v) {
			emits(emitName, v)
		}
	})
}